package main

import "fmt"

func main() {
	//位运算的演示
	//底层都是补码在运算
	fmt.Println(2 & 3)  //2
	fmt.Println(2 | 3)  //3
	fmt.Println(2 ^ 3)  //3
	fmt.Println(-2 ^ 2) //-3

	a := 1 >> 2 //0 //低位溢出，符号位不变，并用符号位补溢出的高位
	c := 1 << 2 //4 //符号位不变，低位补0
	fmt.Println("a=", a, "c=", c)
}
